package com.hanhai.zrb.api.biz.service;

import java.util.Date;
import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageInfo;
import com.hanhai.zrb.model.photo.Photo;
import com.hanhai.zrb.model.photo.PhotoVo;
import com.hanhai.zrb.model.project.Project;
import com.hanhai.zrb.model.project.ProjectDetail;

public interface ProjectService {
	
	String notifySubject_change_authstatus = "project_auth_change";
	
	public PageInfo listAll(ProjectDetail projectDetail,int pageNum,int pageSize);
	
	public void add(ProjectDetail projectDetail);

	public void update(ProjectDetail projectDetail);
	
	public void delete(long id);
	
	public void audit(long id,short status);
	
	public Map<Long,Project> queryMapByIdList(List<Long> list);
	
	public List<Project> queryPageByOwnerId(String owner,Date pushTime,Integer limit,Integer state);
	
	public List<Project> queryByIdList(List<Long> list);
	
	public ProjectDetail qryProjectDetailById(long id);
	
	Project selectByPrimaryKey(Long id);
	 
	public List<Project> listForMobile(Date lastPushTime,int pageSize);
	
	public List<Project> listForMobile(long userId,Date lastPushTime,int pageSize);
	
	public boolean isBindIntention(long intentionId,long projectId);
	@Deprecated
	public boolean isExsitedProjectNo(String projectNo,long projectId);

	public void migratePic();

	public PhotoVo viewPhoto(Long id);
	public List<Project> listForIndustryAndPostcode(Date lastPushTime,List<Integer>industrysList,List<String> postcode,String mode,int pageSize);

	public void savePhoto(Long id, List<Photo> list,Integer type);
	
	public PageInfo listAllFromSolr(ProjectDetail projectDetail, int pageNum,int pageSize);

	 void updateProjectNo(Integer update);

	 void updateFundNo(Integer update);

	int countAllUserProject(Long uid);
	
	List<Project> queryByIdsList(List<Long> list);

}
